let _this = null;
export function sendThis(that) {
  _this = that;
}
// 产品类型改变
export function rechargeTypeChange(value, formItems) {
  formItems.forEach((item) => {
    if (item.prop == "hf_type") {
      if (value == 1) {
        item.isHide = false;
      } else {
        item.isHide = true;
      }
    }
  });
}
// 限制类型改变
export function limitTypeChange(value, formItems) {
  // , "forever"
  const valueArr = ["day", "month", "year", "hour", 'forever'];
  formItems.forEach((item) => {
    if (item.prop == "limit_time") {
      if (value == "time_range") {
        item.isHide = false;
      } else {
        item.isHide = true;
      }
    }
    // console.log("value", value);
    if (item.prop == "limit_type_value") {
      if (valueArr.includes(value)) {
        item.isHide = false;
      } else {
        item.isHide = true;
      }
    }
  });
}
export function isLimitChange(value, formItems) {
  formItems.forEach((item) => {
    if (item.prop == "limit_type") {
      if (value == 1) {
        item.isHide = false;
      } else {
        item.isHide = true;
      }
    }
    // 时间范围选择也隐藏,限制数值也隐藏
    // || item.prop == "limit_value"
    // console.log(value);
    if (item.prop == "limit_time") {
      if (value == 2) {
        item.isHide = true;
        // console.log("limit_value");
      } else {
        // console.log("limit_value22");
        // item.isHide = true;
        // item.isHide = false;
      }
    }
    if (item.prop == "limit_value") {
      if (value == 1) {
        item.isHide = false;
        // console.log("limit_value");
      } else {
        // console.log("limit_value22");
        item.isHide = true;
        // item.isHide = false;
      }
    }
    if (item.prop == "limit_type_value") {
      if (value == 1) {
        item.isHide = false;
        // console.log("limit_value");
      } else {
        // console.log("limit_value22");
        item.isHide = true;
        // item.isHide = false;
      }
    }
  });
}
export function isNeedCodeChange(value, formItems) {
  formItems.forEach((item) => {
    if (item.prop == "code1_len") {
      if (value == 1 || value == 2) {
        item.isHide = false;
      } else {
        item.isHide = true;
      }
    }
    if (item.prop == "code2_len") {
      if (value == 2) {
        item.isHide = false;
      } else {
        item.isHide = true;
      }
    }
  });
}
// export function
export const formItems = [
  {
    prop: "cate_id",
    label: "分类",
    type: "select",
    options: [],
    key: "id",
    value: (item) => {
      return `${item.name}`;
    },
    filterable: true,
    placeholder: "请选择",
    lg: 6,
    otherOptions: {
      // style: "width:200px",
    },
  },
  // {
  //   prop: "name",
  //   label: "产品名称",
  //   placeholder: "请输入产品名称",
  //   lg: 6,
  //   type: "input",
  //   otherOptions: {},
  // },
  {
    prop: "face_value",
    label: "面值",
    placeholder: "请输入面值",
    lg: 6,
    type: "input",
    otherOptions: {},
  },
  {
    prop: "status",
    label: "状态",
    type: "select",
    options: [
      {
        key: 1,
        value: "上架",
      },
      {
        key: 2,
        value: "下架",
      },
    ],
    placeholder: "请选择状态",
    lg: 6,
    otherOptions: {
      // style: "width:200px",
    },
  },
  {
    prop: "recharge_type",
    label: "业务类型",
    type: "select",
    options: [
      {
        key: 1,
        value: "话费",
      },
      {
        key: 2,
        value: "流量",
      },
    ],
    placeholder: "请选择",
    lg: 6,
    otherOptions: {
      // style: "width:200px",
    },
  },
  {
    prop: "isp",
    label: "运营商",
    type: "select",
    options: [
      {
        key: 1,
        value: "移动",
      },
      {
        key: 2,
        value: "联通",
      },
      {
        key: 3,
        value: "电信",
      },
    ],
    placeholder: "请选择",
    lg: 6,
    otherOptions: {
      // style: "width:200px",
    },
  },

  {
    prop: "channel_id",
    label: "渠道",
    type: "select",
    options: [],
    placeholder: "请选择",
    lg: 6,
    filterable: true,
    key: "id",
    value: (item) => {
      return `${item.channel_name}`;
    },
    otherOptions: {
      // style: "width:200px",
    },
  },
  {
    prop: "province_id",
    label: "省份",
    type: "select",
    options: [],
    placeholder: "请选择",
    lg: 6,
    filterable: true,

    key: "id",
    value: (item) => {
      return `${item.name}`; //1todo
    },
    otherOptions: {
      // style: "width:200px",
    },
  },
  {
    prop: "city_id",
    label: "城市",
    type: "select",
    options: [],
    placeholder: "请选择",
    lg: 6,
    filterable: true,
    key: "id",
    value: (item) => {
      return `${item.name}`; //1todo
    },
    otherOptions: {
      // style: "width:200px",
    },
  },
  {
    prop: "created_time",
    label: "创建时间",
    lg: 10,
    type: "datetimerange",
    valueFormat: "x",
    otherOptions: {
      defaultTime: [
        new Date(2000, 1, 1, 0, 0, 0),
        new Date(2000, 1, 1, 23, 59, 59),
      ],
    },
  },
];
export const propList = [
  {
    label: "ID",
    prop: "id",
    // width: "88px",
  },
  // {
  //   label: "产品名称",
  //   prop: "name",
  //   width: "128px",
  //   showOverflowTooltip: false,
  // },
  {
    label: "产品分类",
    prop: "cate.name",
    // width: "88px",
    showOverflowTooltip: false,
  },
  {
    label: "面值",
    prop: "face_value",
    // width: "128px",
    showOverflowTooltip: false,
  },
  {
    label: "运营商",
    prop: "isp_text",
    // width: "128px",
  },
  {
    label: "业务",
    slotName: "recharge_type",
    showOverflowTooltip: false,
  },

  {
    label: "原价",
    prop: "market_price",
    // width: "128px",
    showOverflowTooltip: false,
  },
  {
    label: "渠道价",
    slotName: "channel_price",
    showOverflowTooltip: false,
  },
  {
    label: "渠道编码",
    slotName: "channel_api_code",
    showOverflowTooltip: false,
  },
  // {
  //   label: "采购价",
  //   prop: "user_price",
  //   // width: "128px",
  // },
  {
    label: "默认售价",
    prop: "sale_price",
    // width: "128px",
  },
  {
    label: "上下架",
    slotName: "status",
    // width: "158px",
  },
  {
    label: "是否自动",
    slotName: "is_auto",
    // width: "128px",
  },
  {
    label: "是否压单",
    prop: "is_cache_text",
    slotName: "is_cache",
    // width: "128px",
  },

  {
    label: "是否停售",
    slotName: "is_stop",
    showOverflowTooltip: false,
    // width: "128px",
  },
  {
    label: "是否拦截",
    slotName: "stop_fail",
    showOverflowTooltip: false,

    // width: "128px",
  },

  {
    label: "限购",
    slotName: "is_limit",
    // width: "128px",
  },


  {
    label: "验证码",
    prop: "is_need_code_text",
    width: "98px",
  },
  {
    label: "渠道",
    slotName: "channel_id",
    // width: "128px",
  },
  {
    label: "排序",
    prop: "sort",
    // width: "128px",
  },
  {
    label: "创建/修改时间",
    slotName: "created_time",
    width: "170",
  },
  // {
  //   label: "修改时间",
  //   prop: "updated_time",
  //   width: "170",
  // },
  {
    label: "操作",
    slotName: "op",
    fixed: "right",
    showOverflowTooltip: false,

    // width: "250px",
  },
];
export const dialogConfig = {
  title: "产品规格",
  formConfig: {
    labelWidth: "148px",
    colLayout: { span: 12 },
    formData: {},
    formItems: [
      // {
      //   // 废弃
      //   label: "产品名称",
      //   prop: "name",
      //   type: "input",
      //   // disabled: true,
      //   isHide: true,
      //   defaultValue: "",
      //   placeholder: "请输入产品名称",
      // },
      {
        prop: "cate_id",
        label: "产品分类",
        placeholder: "请选择产品分类",
        filterable: true,
        // isHide: true,
        // lg: 6,
        type: "select",
        key: "id",
        value: (item) => {
          return `${item.name}`;
        },
        options: [],
        otherOptions: {
          // style: "width:200px",
        },
      },
      {
        prop: "channel_id",
        label: "渠道",
        placeholder: "请选择渠道",
        // isHide: true,
        // lg: 6,
        filterable: true,
        type: "select",
        key: "id",
        value: (item) => {
          return `${item.channel_name}`;
        },
        options: [],
        otherOptions: {
          // style: "width:200px",
        },
      },
      {
        label: "面值",
        prop: "face_value",
        type: "input",
        // disabled: true,
        defaultValue: "",
        placeholder: "请输入产品面值",
      },
      {
        label: "渠道价",
        prop: "channel_price",
        type: "inputNumber",
        // disabled: true,
        defaultValue: null,
        placeholder: "请输入渠道价",
      },

      // {
      //   label: "商户采购价",
      //   prop: "user_price",
      //   type: "inputNumber",
      //   // disabled: true,
      //   defaultValue: null,
      //   placeholder: "请输入商户采购价",
      // },
      {
        label: "渠道编码",
        prop: "channel_code",
        type: "input",
        // disabled: true,
        defaultValue: null,
        placeholder: "请输入渠道编码",
      },

      {
        label: "商品原价",
        prop: "market_price",
        type: "inputNumber",
        // disabled: true,
        defaultValue: null,
        placeholder: "请输入商品原价",
      },
      {
        label: "默认售价",
        prop: "sale_price",
        type: "inputNumber",
        // disabled: true,
        defaultValue: null,
        placeholder: "请输入默认售价",
      },
      {
        label: "运营商",
        prop: "isp",
        type: "radio",
        button: true,
        defaultValue: 1,
        change(value) {
          // vm.radiaChange(value);
        },
        radioList: [
          {
            label: "移动",
            value: 1,
            size: "small",
          },
          {
            label: "联通",
            value: 2,
            size: "small",
          },
          {
            label: "电信",
            value: 3,
            size: "small",
          },
        ],
      },
      {
        label: "充值类型",
        prop: "recharge_type",
        type: "radio",
        button: true,
        defaultValue: 1,
        change(value, formItems) {
          rechargeTypeChange(value, formItems);
        },
        radioList: [
          {
            label: "话费",
            value: 1,
            size: "small",
          },
          {
            label: "流量",
            value: 2,
            size: "small",
          },
        ],
      },
      {
        label: "状态",
        prop: "status",
        type: "radio",
        button: true,
        defaultValue: 1,
        change(value) {
          // vm.radiaChange(value);
        },
        radioList: [
          {
            label: "上架",
            value: 1,
            size: "small",
          },
          {
            label: "下架",
            value: 2,
            size: "small",
          },
        ],
      },
      {
        label: "快慢充",
        prop: "hf_type",
        type: "radio",
        button: true,
        isHide: false,
        defaultValue: 2,
        change(value) {
          // vm.radiaChange(value);
        },
        radioList: [
          {
            label: "慢充",
            value: 2,
            size: "small",
          },
          {
            label: "快充",
            value: 1,
            size: "small",
          },
        ],
      },
      {
        label: "是否停售",
        prop: "is_stop",
        type: "radio",
        button: true,
        defaultValue: 0,
        change(value) {
          // vm.radiaChange(value);
        },
        radioList: [
          {
            label: "是",
            value: 1,
            size: "small",
          },
          {
            label: "否",
            value: 0,
            size: "small",
          },
        ],
      },
      {
        label: "是否自动处理",
        prop: "is_auto",
        type: "radio",
        button: true,
        defaultValue: 1,
        change(value) {
          // vm.radiaChange(value);
        },
        radioList: [
          {
            label: "是",
            value: 1,
            size: "small",
          },
          {
            label: "否",
            value: 0,
            size: "small",
          },
        ],
      },

      {
        label: "停售文案",
        prop: "is_stop_text",
        placeholder: "请输入停售文案，默认：该产品已售空！",
        type: "input",
        defaultValue: "",
      },
      {
        label: "是否压单",
        prop: "is_cache",
        type: "radio",
        button: true,
        defaultValue: 0,
        change(value) {
          // vm.radiaChange(value);
        },
        radioList: [
          {
            label: "不压单",
            value: 0,
            size: "small",
          },
          {
            label: "压单",
            value: 1,
            size: "small",
          },
        ],
      },
      {
        label: "是否需要验证码",
        prop: "is_need_code",
        type: "radio",
        button: true,
        defaultValue: 0,
        change(value, formItems) {
          isNeedCodeChange(value, formItems);
        },
        radioList: [
          {
            label: "不需要",
            value: 0,
            size: "small",
          },
          {
            label: "一个验证码",
            value: 1,
            size: "small",
          },
          {
            label: "两个验证码",
            value: 2,
            size: "small",
          },
        ],
      },

      {
        label: "排序(越小越靠前)",
        prop: "sort",
        type: "inputNumber",
        step: 1, //步数     默认1
        // min: 0, //默认0最小值
        precision: 0,
        defaultValue: 0,
        placeholder: "请输入排序(越小越靠前)",
      },
      {
        label: "第一个验证码长度",
        prop: "code1_len",
        isHide: true,
        precision: 0,
        type: "inputNumber",
        defaultValue: 4,
        placeholder: "请输入第一个验证码长度",
      },
      {
        label: "第二个验证码长度",
        prop: "code2_len",
        isHide: true,
        precision: 0,
        type: "inputNumber",
        defaultValue: 4,
        placeholder: "请输入第二个验证码长度",
      },
      {
        label: "是否需要关注",
        prop: "is_subscribe",
        type: "radio",
        button: true,
        defaultValue: 2,
        change(value, formItems) {
          // isLimitChange(value, formItems);
        },
        radioList: [
          {
            label: "不需要",
            value: 2,
            size: "small",
          },
          {
            label: "需要",
            value: 1,
            size: "small",
          },
        ],
      },
      {
        label: "是否仅限新用户购买",
        prop: "is_limit_new_user",
        type: "radio",
        button: true,
        defaultValue: 2,
        change(value, formItems) {
          // isLimitChange(value, formItems);
        },
        radioList: [
          {
            label: "不限制",
            value: 2,
            size: "small",
          },
          {
            label: "限制",
            value: 1,
            size: "small",
          },
        ],
      },
      {
        label: "是否限购",
        prop: "is_limit",
        type: "radio",
        button: true,
        defaultValue: 2,
        change(value, formItems) {
          isLimitChange(value, formItems);
        },
        radioList: [
          {
            label: "不限购",
            value: 2,
            size: "small",
          },
          {
            label: "限购",
            value: 1,
            size: "small",
          },
        ],
      },
      {
        label: "失败拦截",
        prop: "stop_fail",
        type: "radio",
        button: true,
        defaultValue: 0,
        change(value, formItems) {
          // isLimitChange(value, formItems);
        },
        radioList: [
          {
            label: "拦截",
            value: 1,
            size: "small",
          },
          {
            label: "不拦截",
            value: 0,
            size: "small",
          },
        ],
      },
      {
        prop: "commission_id",
        label: "默认佣金规则",
        placeholder: "请选择佣金规则",
        // isHide: true,
        // lg: 6,
        filterable: true,
        type: "select",
        key: "id",
        value: (item) => {
          return `${item.name}`;
        },
        change(value, formItems) {
          // limitTypeChange(value, formItems);
        },
      },
      {
        prop: "limit_type",
        label: "限购类型",
        placeholder: "请选择限购类型",
        isHide: true,
        // lg: 6,
        filterable: true,
        type: "select",
        key: "key",
        value: (item) => {
          return `${item.name}`;
        },
        change(value, formItems) {
          limitTypeChange(value, formItems);
        },
        options: [
          {
            name: "永久",
            key: "forever",
          },
          {
            name: "当天",
            key: "cur_day",
          },
          {
            name: "当月",
            key: "cur_month",
          },
          {
            name: "当年",
            key: "cur_year",
          },
          {
            name: "小时",
            key: "hour",
          },
          {
            name: "天",
            key: "day",
          },
          {
            name: "月",
            key: "month",
          },
          {
            name: "年",
            key: "year",
          },
          {
            name: "时间范围",
            key: "time_range",
          },
        ],
        otherOptions: {
          // style: "width:200px",
        },
      },
      {
        prop: "limit_value",
        label: "限购次数",
        isHide: true,
        type: "inputNumber",
        step: 1, //步数     默认1
        min: 0, //默认0最小值
        precision: 0,
        defaultValue: null,
        placeholder: "请输入",
      },
      {
        prop: "limit_type_value",
        label: "限购类型值",
        isHide: true,
        type: "inputNumber",
        step: 1, //步数     默认1
        min: 0, //默认0最小值
        precision: 0,
        defaultValue: null,
        placeholder: "请输入",
      },
      {
        prop: "limit_time",
        label: "限购时间",
        isHide: true,
        type: "datetimerange",
        valueFormat: "YYYY-MM-DD HH:mm:ss",
        otherOptions: {
          // defaultTime: ["00:00:00", "23:59:59"],
        },
      },
      {
        prop: "goods_tag",
        label: "优惠文字",
        type: "input",
        placeholder: "请输入右上角优惠文字",
        otherOptions: {
          // defaultTime: ["00:00:00", "23:59:59"],
        },
      },
      {
        prop: "pay_success_text",
        label: "支付成功文案",
        type: "textarea",
        placeholder: "请输入支付成功文案",
        otherOptions: {
          // defaultTime: ["00:00:00", "23:59:59"],
        },
      },
      {
        prop: "province_id",
        label: "省份",
        placeholder: "请选择省份",
        // isHide: true,
        // lg: 6,
        filterable: true,
        type: "select",
        multiple: true,
        key: "id",
        value: (item) => {
          return `${item.name}`; //1todo
        },
        change(value, formItems) {
          // 请求城市
          // _this.getArea(value, 2);
        },
        options: [],
        otherOptions: {
          // style: "width:200px",
        },
      },
      {
        prop: "city_id",
        label: "城市",
        multiple: true,
        placeholder: "请选择城市",
        // isHide: true,
        // lg: 6,
        filterable: true,
        type: "select",
        key: "id",
        value: (item) => {
          return `${item.name}`; //1todo
        },
        options: [],
        otherOptions: {
          // style: "width:200px",
        },
      },
      {
        prop: "limit_province_id",
        label: "限制省份",
        placeholder: "请选择省份",
        // isHide: true,
        // lg: 6,
        filterable: true,
        type: "select",
        multiple: true,
        key: "id",
        value: (item) => {
          return `${item.name}`; //1todo
        },
        change(value, formItems) {
          // 请求城市
          // _this.getArea(value, 2);
        },
        options: [],
        otherOptions: {
          // style: "width:200px",
        },
      },
      {
        prop: "limit_city_id",
        label: "限制城市",
        multiple: true,
        placeholder: "请选择城市",
        // isHide: true,
        // lg: 6,
        filterable: true,
        type: "select",
        key: "id",
        value: (item) => {
          return `${item.name}`; //1todo
        },
        options: [],
        otherOptions: {
          // style: "width:200px",
        },
      },
      {
        prop: "remark",
        label: "备注",
        type: "input",
        placeholder: "此备注仅用于后台查看，跟公众号端没有影响",
        otherOptions: {
          // defaultTime: ["00:00:00", "23:59:59"],
        },
      },

      {
        label: "商品描述",
        prop: "detail",
        type: "custom",
        span: 24,
        placeholder: "请输入",
      },
    ],
    formDataRules: {
      name: [{ required: true, message: "请输入", trigger: "blur" }],
      market_price: [{ required: true, message: "请输入", trigger: "blur" }],
      face_value: [{ required: true, message: "请输入", trigger: "blur" }],
      user_price: [{ required: true, message: "请输入", trigger: "blur" }],
      sale_price: [{ required: true, message: "请输入", trigger: "blur" }],
      code2_len: [{ required: true, message: "请输入", trigger: "blur" }],
      code1_len: [{ required: true, message: "请输入", trigger: "blur" }],
      limit_value: [{ required: true, message: "请输入", trigger: "blur" }],
      sort: [{ required: true, message: "请输入", trigger: "blur" }],
      status: [{ required: true, message: "请选择", trigger: "blur" }],
      cate_id: [{ required: true, message: "请选择", trigger: "blur" }],
      isp: [{ required: true, message: "请选择", trigger: "blur" }],
      recharge_type: [{ required: true, message: "请选择", trigger: "blur" }],
      is_cache: [{ required: true, message: "请选择", trigger: "blur" }],
      is_need_code: [{ required: true, message: "请选择", trigger: "blur" }],
      channel_id: [{ required: true, message: "请选择", trigger: "blur" }],
      is_limit: [{ required: true, message: "请选择", trigger: "blur" }],
      limit_type: [{ required: true, message: "请选择", trigger: "blur" }],
      limit_time: [{ required: true, message: "请选择", trigger: "blur" }],
      is_subscribe: [{ required: true, message: "请选择", trigger: "blur" }],
      is_auto: [{ required: true, message: "请选择", trigger: "blur" }],
      is_stop: [{ required: true, message: "请选择", trigger: "blur" }],
      is_limit_new_user: [
        { required: true, message: "请选择", trigger: "blur" },
      ],
      // commission_id: [{ required: true, message: "请选择", trigger: "blur" }],
      stop_fail: [{ required: true, message: "请选择", trigger: "blur" }],
      limit_type_value: [
        { required: true, message: "请输入", trigger: "blur" },
      ],
      channel_price: [{ required: true, message: "请输入", trigger: "blur" }],
      channel_code: [{ required: true, message: "请输入", trigger: "blur" }],

      // password: [{ required: true, message: "请输入", trigger: "blur" }],
      // remark: [{ required: true, message: "请输入", trigger: "blur" }],
    },
  },
};
